﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NIF.MobileActors.Core
{
    public interface IActor
    {
        ActorID ID { get;}

        void Reset();

        void ResetForExecute();

        void ResetForExecute(IActor actNewState);

        void Activate();

        void Deactivate();

        void Execute();

        void OnDispatched();

        bool Existed { get; }

        bool IsActiving { get; }

        int MessageCount { get; }

        ActorContext Context { get; }
    }
}
